package com.dotflat.check.repository;

import com.dotflat.check.domain.C.PO.GetAttendanceCardResult;
import com.dotflat.check.domain.C.PO.GetAttendanceUserResult;
import com.dotflat.check.domain.C.PO.GetClassListInfoResult;
import com.dotflat.check.domain.C.PO.GetGuardianListInfo2Result;
import com.dotflat.check.domain.Card;
import com.dotflat.check.po.CardPO;
import com.dotflat.check.po.CheckUserPO;
import com.dotflat.check.po.UserCardInfoPO;
import com.dotflat.check.po.UserRelationCardInfoPO;
import com.matt.commons.page.PagerQuery;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;

import java.util.List;


@Repository
public interface CardInfoRepository {

    List<UserCardInfoPO> getUserCardInfoPO(String areaId, int status, String classId, PagerQuery pagerQuery);

    Integer getUserCardInfoCount(String areaId, int status, String classId);

    List<UserRelationCardInfoPO> getUserRelationCardInfoPO(String areaId, int status, String classId, PagerQuery pagerQuery);

    Integer getUserRelationCardInfoPOCount(String areaId, int status, String classId);

    UserRelationCardInfoPO getUserRelationCardInfo_v2(String areaId,String childrenId, String userId,String cardNo);

    List<GetAttendanceUserResult> getKgIdInfo(String kgId,String modifyTime);

    List<GetAttendanceUserResult> getKgIdByUsers(String kgId);

    List<GetClassListInfoResult> getKgIdByClassListInfo(String kgId);

    List<GetGuardianListInfo2Result> getKgIdByGuardianListInfo(String kgId, String modifyTime);

    List<GetAttendanceCardResult> getGuardianListInfo2Result(String kgId);

    List<CheckUserPO>  getCheckUserPO(String areaId,Integer type,Integer whole);

    List<CheckUserPO>  getCheckUserByChildren(String areaId,Integer type,Integer whole);

    List<CardPO> getAreaIdByChildrenCardList(String areaId, Integer type, Integer whole);

    List<CardPO> getAreaIdByUserCardList(String areaId, Integer type, Integer whole);
}
